﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using FA = ESAN.Componentes.BLCoreESAN.Logic.Facade;

namespace ESAN.Componentes.InscripcionOnlineESAN.Areas.Administrador.Controllers
{
    public class VentasController : Controller
    {
        //
        // GET: /Administrador/Ventas/

        public ActionResult Index()
        {
            return View();
        }

        public ActionResult ConsultaAspirante()
        {
            ViewBag.ListaConvocatoria = FA.BLConvocatoria.ListarConvocatorias();
            ViewBag.ListaDctoConvocatoria = FA.BLConvocatoria.ListarDctoConvocatorias();
            return View();
        }

        public ActionResult ListadoAspirante(int idConvocatoria)
        {
            ViewBag.ListarAspirante = FA.BLPostulante.ConsultarAspirante(idConvocatoria, "VEN001A");
            return PartialView();
        }

        public JsonResult PosponerPostulacion(int idPostulante, int idConvocatoria, string motivoPosponer)
        {
            bool exito = FA.BLPostulante.PosponerPostulacion(idPostulante, idConvocatoria, motivoPosponer);
            return Json(new { respuesta = exito.ToString() }, JsonRequestBehavior.AllowGet);
        }

        public JsonResult RechazarPostulacion(int idPostulante, string motivo)
        {
            bool exito = FA.BLPostulante.RechazarPostulacion(idPostulante, motivo);
            return Json(new { respuesta = exito.ToString() }, JsonRequestBehavior.AllowGet);
        }

        public JsonResult EliminarPostulacion(int idPostulante, string motivo)
        {
            bool exito = FA.BLPostulante.EliminarPostulacion(idPostulante, motivo, "VEN001X");
            return Json(new { respuesta = exito.ToString() }, JsonRequestBehavior.AllowGet);
        }

        public JsonResult ExisteDcto(int idConvocatoria)
        {
            bool exito = FA.BLMaestra.ExisteDcto(idConvocatoria);
            return Json(new { respuesta = exito }, JsonRequestBehavior.AllowGet);
        }

        public ActionResult InformacionAspirante(int idPostulante)
        {
            ViewBag.InfoAspirante = FA.BLCliente.ObtenerCliente(idPostulante);
            ViewBag.ListadoInfoLaboral = FA.BLCliente.ListarClienteExperienciaLaboral(idPostulante);
            ViewBag.ListadoInfoAcademica = FA.BLCliente.ListarClienteFormacionAcademica(idPostulante);
            ViewBag.ListadoInfoIdioma = FA.BLCliente.ListarClienteIdioma(idPostulante);
            ViewBag.ListaTipoDoc = FA.BLMaestra.ListarMaestra(1);
            ViewBag.ListaEstadoCiv = FA.BLMaestra.ListarMaestra(2);

            return PartialView();
        }

        public JsonResult AprobarPostulante(int idPostulante)
        {
            bool exito = FA.BLPostulante.AprobarPostulante(idPostulante, "ADM001A");
            return Json(new { respuesta = exito }, JsonRequestBehavior.AllowGet);
        }

        public JsonResult RegistrarDescuento(int idPostulante, int idTipoDcto, string motivo)
        {
            bool exito = FA.BLPostulante.RegistrarDescuento(idPostulante, idTipoDcto, motivo);
            return Json(new { respuesta = exito }, JsonRequestBehavior.AllowGet);
        }
        


    }
}
